perm filename OC.FST[MF,ALS] blob sn#770528 filedate 1984-09-24 generic text, type C, neo UTF8
COMMENT ⊗   VALID 00002 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	@ We will need to make the following adjustments frequently.
C00007 ENDMK
C⊗;
@ We will need to make the following adjustments frequently.

@<Fix |p_array|, |complement(p_val| if needed, incrememt |y| and |i|@>=
  if p_array>1 then decr(p_array) else if p_array=1 then
    begin
    complement(p_val);
    while p_array>0 do
      begin  p_array←paint_array[y,p_c+1]; incr(p_c);
      end;
    p_c←0;
    end;
  incr(y); incr(i);

@ @<Get full byte@>=
begin
while (i≤8) and (p_val=b) do
  begin
  @<Fix |p_array|, |complement(p_val| if needed, incrememt |y| and |i|@>;
  end;
if i>8 then
  begin
  if b=black then b←255; {the all black case, or if not,the all white case}
  end
  else
  begin
  if b=black then b←b_table[i] else b←black; {this looks funny but it is ok}
  @<Fix |p_array|, |complement(p_val| if needed, incrememt |y| and |i|@>;
  end;
while i≤8 do
  begin
  b←b+b+p_val;
  @<Fix |p_array|, |complement(p_val| if needed, incrememt |y| and |i|@>;
  end;
if (y>max_y) and (x<max_x) then 
  begin incr(x); y←min_y;
  end;
end;

@ @<Get mixed byte@>=
begin
while (y≤max_y) and (p_val=b) do
  begin
  @<Fix |p_array|, |complement(p_val| if needed, incrememt |y| and |i|@>;
  end;
if p_val≠b then
  begin
  if b=black then b←b_table[i] else b←black; {this looks funny but it is ok}
  @<Fix |p_array|, |complement(p_val| if needed, incrememt |y| and |i|@>;
  while y≤max_y do
    begin
    b←b+b+p_val;
    @<Fix |p_array|, |complement(p_val| if needed, incrememt |y| and |i|@>;
    end;
  if x<max_x then
    begin
    y←min_y; incr(x);
    while i≤8 do
      begin
      b←b+b+p_val;
      @<Fix |p_array|, |complement(p_val| if needed, incrememt |y| and |i|@>;
      end;
    end
    else begin
    while i≤8 do 
      begin
      b←b+b; incr(1);
      end; 
    end;
  end
  else begin
  if x<max_x then
    begin
    y←min_y; incr(x);
    while (i≤8) and (p_val=b) do
      begin
      @<Fix |p_array|, |complement(p_val| if needed, incrememt |y| and |i|@>;
      end
      else begin
      if i≤8 then
	begin
        if b=black then b←b_table[i] else b←black; {this looks funny but it is ok}
        @<Fix |p_array|, |complement(p_val| if needed, incrememt |y| and |i|@>;
        while i≤8 do
          begin
	  b←b+b+p_val;
          @<Fix |p_array|, |complement(p_val| if needed, incrememt |y| and |i|@>;
	  end;
        end
        else if b←black then b←255;
      end;
    end
    else begin
    incr(1);
    if b=black then b←b_table[i]:
    while i≤8 do b←b+b;
    end;